Lidar ring lens return filtering

ABSTRACT

A LIDAR sensor assembly includes a laser light source to emit laser light, and a light sensor to produce a light signal in response to sensing reflections of the laser light emitted by the laser light source from a reference surface that is fixed in relation to the LIDAR sensor assembly. A controller of the LIDAR sensor assembly can process a plurality of samples of reflected light signals, process the samples to remove erroneous readings, and then provide accurate distance measurement. The system can use low-pass filters, or other components, to filter the plurality of samples to enable the “actual,” or primary, reflected light signal (i.e., light signal reflected off of a surface in an environment external to the sensor assembly, as opposed to extraneous, internal reflections off of lenses or other components or noise) to be identified and an accurate time of flight to be calculated.

RELATED APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 15/986,676, filed on May 22, 2018, the disclosureof which is incorporated by reference herein.

BACKGROUND

The term “LIDAR” refers to a technique for measuring distances tovisible surfaces by emitting light and measuring properties of thereflections of the light. A LIDAR system has a laser light source and alight sensor. The laser light source may comprise a laser that directshighly focused light toward a surface which then reflects the light backto the light sensor. The light sensor may comprise a photodetector suchas a photomultiplier or avalanche photodiode (APD) that converts lightintensity to a corresponding electrical signal. Optical components suchas lenses may be used in the light transmission and reception paths tofocus light, depending on the particular nature of the LIDAR system.

A LIDAR system has signal processing components that analyze reflectedlight signals to determine the distances to surfaces from which theemitted laser light has been reflected. The system may measure the “timeof flight” of a light signal, for example, as it travels from the laser,to the surface, and back to the light sensor. A distance is thencalculated based on the known speed of light. The accuracy of thedistance measurement may be affected by reflections, interference, andother factors.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical components or features.

FIG. 1 is a schematic depicting components associated with an example ofa basic LIDAR sensor assembly, in accordance with some examples of thepresent disclosure.

FIG. 2A is a perspective view of an example LIDAR sensor assemblyshowing the outer housing including a curved cover, in accordance withsome examples of the present disclosure.

FIG. 2B is a simplified cross sectional view of the example LIDAR sensorassembly of FIG. 2A, taken along line BB of FIG. 2A, in accordance withsome examples of the present disclosure.

FIG. 2C is a simplified cross-sectional view of a LIDAR sensor assemblywith a flat cover, in accordance with some examples of the presentdisclosure.

FIG. 2D is a partial cutaway view showing the internal components of theexample LIDAR sensor assembly of FIG. 2A, in accordance with someexamples of the present disclosure.

FIG. 3 is a graph including examples of a plurality of samples withmultiple internal, or “false,” reflections prior to processing, inaccordance with some examples of the present disclosure.

FIG. 4 is a graph including examples of a plurality of samples includinga single internal reflection and a single surface reflectionpost-processing, in accordance with some examples of the presentdisclosure.

FIGS. 5A and 5B are flowcharts illustrating an example method ofmeasuring a distance to a surface with a LIDAR sensor assembly, inaccordance with some examples of the present disclosure.

FIG. 6 is a side view of an example vehicle showing example mountingorientations for LIDAR sensor assemblies, in accordance with someexamples of the present disclosure.

DETAILED DESCRIPTION

Typical LIDAR systems emit light (sometimes in the form of a laserlight) and detect reflected light off of a surface in the environmentthat corresponds to the emitted light. The reflected light signals arethen analyzed to determine the distances from the LIDAR system tosurfaces from which the emitted laser light has been reflected. In someLIDAR systems, the system may determine, effectively, the “time offlight” (TOF) of a light signal, for example, as it travels from thelaser, to the surface, and back to the light sensor. A distance can thenbe calculated based on the determined time of flight and the known speedof light. In other examples, an electronic component (e.g., across-correlator) can match, or correlate, the output signal with thereturn signal to enable the phase shift between the two curves to bedetermined. The TOF can then be calculated based on the phase shift

As discussed below, a LIDAR sensor assembly can include varioustransparent covers or lenses. The covers may be transparent with littleor no ability to focus, or otherwise modify, the laser light (apart frompartially reflecting it) designed simply to seal the LIDAR sensorassembly. The lenses may be used to focus, and/or steer the light comingfrom, and returning to, the sensor, and/or to seal the sensor againstenvironmental conditions. As used hereinafter, the terms lens and lensesare used to mean any material, through which the laser light must pass,regardless of whether the light is modified (e.g., focused or bent) inany way.

Under certain conditions, these lenses can create a strong reflectedsignal to the receiver of the LIDAR sensor assembly, which can affectdistance measurement accuracy and the range of the LIDAR sensorassembly. For automatic gain control (AGC) LIDAR methods which attemptto determine an optimal power setting for each laser emission for a wideranges of scenes and/or environments, it is impossible to determine afixed range a priori with which to exclude reflected signals. Adiscussion of AGC is provided in U.S. patent application Ser. No.15/487,170, entitled, “Laser Power Calibration and Correction”, filedApr. 13, 2017, which is incorporated by reference herein as if fully setforth below. In many cases, however, artificially truncating theresponse using a fixed time period or distance (discussed below) canlimit the short-range capabilities of the LIDAR sensor assembly.

In addition, for particularly strong power settings, the light sensorsof the LIDAR sensor assembly may become saturated for a period of timelonger than the fixed cutoff, which can result in false positives. Inother words, if the sensor system is still saturated at the cutoff time,then the first sample could be inaccurately determined to be a maximum,and thus, a reflection off of a surface. In this case, the LIDAR sensorassembly is merely measuring the “distance” to the cutoff time, which isclearly inaccurate. Trying to avoid strong reflected signals by simplyreducing laser output, on the other hand, can limit the long-rangecapabilities of the LIDAR sensor assembly.

Other methods that account for and/or remove this reflected signal canalso have negative effects on sensor performance. Instead of detecting avalid peak in the return (or, “Rx”) signal, for example, one method isto simply employ a fixed distance trimming algorithm. In this scheme,any Rx signal received by the LIDAR sensor assembly within apredetermined amount of time—and thus, a predetermined distance from thesensor based on the fixed propagation speed of light—is simply ignoredby the sensor logic. Unfortunately, due to the extremely highpropagation speed of light, this reduces the effective minimum range ofthe sensor significantly. This may reduce the minimum range of thesensor to the point that it cannot be effectively used in someapplications (e.g., vehicle navigation and automation). Further, asmentioned above, in those systems employing automatic gain control, thistrimming may reduce an actual effective range of the LIDAR sensorassembly.

This application describes techniques for more accurately isolating anypeaks cause by reflections of the transmitted (or, “Tx”) signal by oneor more lenses of the LIDAR system. The system can use improvedalgorithms to identify local minima in the Rx signal, rather than usingfixed distance-based trimming. Thus, the system can transmit laserlight, for example, identify, and remove local maxima and minima causedby reflections from the cover(s) or lens(es). The system can thenidentify an “actual” local minima between (1) the laser light reflectedby the LIDAR sensor assembly's lens(es) and (2) laser light reflected bysurface(s) in the environment. The system can then provide accuratedistance measurements to the surface(s) based on the subsequent “actual”Rx signals attributable to laser light reflected by surface(s) in theenvironment. The system can also enable the use of higher Tx powerwhich, in conjunction with automatic gain control (AGC), can be used toincrease the range and/or resolution of the LIDAR sensor assemblies.

The system can use improved trimming algorithms to accurately detectlocal minima and maxima, thereby improving the accuracy of subsequentdistance measurements. The system can be used for each output of theLIDAR sensor assembly to discard initial, erroneous samples and locateactual Rx signals from environmental surfaces. In the case ofmulti-channel LIDAR systems, these techniques can be performed for eachemission of each channel (e.g., each laser light source and light sensorcombination) of the LIDAR sensor assembly.

In some examples, a LIDAR sensor assembly suitable for the techniquesdescribed herein includes a rotatable assembly including one or morelaser light sources, one or more light sensors, and associated circuitrymounted in a chassis that rotates about a vertical rotational axis toscan horizontally across a scene. During a rotation of the chassis,laser light is emitted in different horizontal directions. Thehorizontal angle of light emission varies with the rotation of thechassis. In other examples, LIDAR sensor assemblies according to thisdisclosure may be mounted in different orientations (e.g., may rotateabout an axis other than a vertical axis such that the LIDAR sensorassembly scans in a path other than horizontal). Indeed, while theinvention is described herein in the context of both fixed and rotatingLIDAR sensors with various lenses and covers, the invention isnonetheless applicable to many LIDAR systems including non-rotating orfixed LIDAR sensor assemblies, solid state LIDAR sensor assemblies, MEMSbased LIDAR sensor assemblies, etc., which have a lens, cover, or otherelement disposed in the transmit and receive path, regardless of thetype of emission used (e.g., single pulses, pulse trains, continuouswave, frequency modulated continuous wave, flash, etc.).

The LIDAR sensor assembly may include a substantially transparentsurface (e.g., a cover, lens, or “ring lens” surrounding the rotatableassembly). The substantially transparent surface may be coupled to astationary portion of the LIDAR sensor assembly and may be fixed at aknown distance from the axis of rotation of the rotatable assembly. Inother examples, the lens may rotate with the LIDAR sensor assembly. Asmentioned above, the substantially transparent surface may reflect aportion of the light emitted by the laser light source, which may affectthe accuracy of the LIDAR sensor assembly.

To this end, a controller of the LIDAR sensor assembly can detect theseinitial reflections from the lens and other sources (e.g., interference,internal reflections, and/or noise), locate a local minimum subsequentto the detection of the initial reflection, and discard samples from afirst sample to the local minimum to eliminate the initial reflectionfrom TOF calculations. The controller can then detect a subsequent“actual” reflection from a surface to which the distance is to becalculated. In some examples, a low-pass filter can be used to eliminateany “false” local minima which may be associated with, for example,noise, interference, or other anomalies.

These and other aspects are described further below with reference tothe accompanying drawings. The drawings are merely exampleimplementations, and should not be construed to limit the scope of theclaims. For example, while the drawings depict a rotating LIDAR sensorassembly including a specific number of channels, the techniquesdescribed herein are also applicable to LIDAR sensor assemblies usingdifferent numbers of channels, as well as other forms of LIDAR, asdescribed above. Also, while in some examples the LIDAR sensor assemblyis described as being mounted to a vehicle, in other examples LIDARsensor assemblies according to this disclosure may be used in otherscenarios, such as in a manufacturing line, in a security context, orthe like.

As mentioned above, while discussed below in the context of both fixedand rotating LIDAR sensor assemblies, the disclosure is not so limited.The disclosure is also applicable to other types of LIDAR sensorassemblies such as, for example, solid-state LIDAR sensor assemblies,etc. Indeed, the disclosure is not limited to LIDAR sensor assemblies,but rather could be used with many sensors that use reflected waves as ameans to measure distance (or perform other functions) in which sensoraccuracy may be affected by unwanted reflected waves. Thus, the systemcould be used with RADAR, ultrasonic, infrared, and other sensors, forexample, that use one or more covers or lenses or other devices thattend to reflect unwanted or erroneous reflections back to the lightsensors of the system. The discussion below of LIDAR sensor assembliesis not intended to be limiting, therefore, but merely to simplify andclarify explanation.

Example LIDAR Sensor Assembly

A simplified LIDAR sensor assembly 100 suitable for use with the systemsand methods disclosed herein is shown in FIG. 1. The LIDAR sensorassembly 100 can include a plurality of laser light sources 102 and aplurality of light sensors 104. The laser light sources 102 can producelaser light 106 (shown by solid lines), which may pass through one ormore optical components 108 (e.g., lenses, covers, cases, etc.) on apath to a surface 110 to which the distance is being measured.

The optical component 108 can be one or more lenses, for example,configured to focus or steer the laser light 106 is some mannerdesirable to the functioning of the LIDAR sensor assembly 100 and focusprimary reflection(s) 112 onto the plurality of light sensors 104. Theoptical component 108 can also simply be a cover or case provided toseal the enclosure, for example, or protect the laser light sources 102and/or light sensors 104. Regardless of its function, if the opticalcomponent 108 is perfectly optically transparent, then the laser light106 can travel undisturbed through the optical component 108, reflectoff of the surface 110, and the primary reflection(s) 112 can return,back through the optical component 108, and to the light sensors 104undisturbed. The distance to the surface 110 can then be calculatedbased on the TOF of the laser light 106 to and from the surface 110,using the fixed propagation speed of light.

In many cases, however, the optical component 108 may not be perfectlytransparent. This may be due to flaws in the optical component 108(e.g., an inclusion in the lens material), inherent reflectivity in thematerial of the optical component 108, a lack of anti-reflectivecoatings, etc. This lack of optical transparency can result in one ormore internal reflections 114 (shown in the dot-dash line) of the laserlight 106 off of the optical component 108 back to the light sensors 104prior to the primary reflection(s) 112 returning from the surface 110.

The first graph 116 is an example of the raw data that may be returnedby the light sensor 104 due to the primary reflection(s) 112 andinternal reflection(s) 114. The primary reflection(s) 112 and internalreflection(s) 114, which return to the light sensors 104 at differenttimes due to differences in TOF, can result in a first set 118 of one ormore return signals caused by the internal reflections 114—the so-called“false” or undesirable reflections off of the optical component108—followed by a second set 120 of one or more return signals caused bythe primary reflection 112 of the laser light 106 off of the surface110—the “actual” or desirable reflections for the distance calculation.

In many cases, the first set 118 can also result in more than one peak,or maximum, in the return signal caused by multiple internal reflections114 at different angles (and thus, with different TOFs). Multiple maximacan make it difficult to determine where the first set 118 ends, at alocal minimum 122, and the second set 120 begins. If the timesassociated with the first set 118 and the second set 120 are simplyaveraged, for example, this can result in a significantly shortercalculated distance than the actual distance to the surface 110.Similarly, arbitrarily choosing a cutoff 124 (shown by the dot-dot-dashline) that eliminates some initial time period in the beginning of thereturn signal can remove all return signals. At the least, this canresult in a LIDAR sensor assembly 100 with a minimum measurementdistance that is longer than it otherwise could be—i.e., the LIDARsensor assembly 100 can only range surfaces outside the distanceassociated with the cutoff 124. In some cases, this could result in theLIDAR sensor assembly 100 failing to detect an object, which couldresult in a collision, or other mishap.

To this end, the LIDAR sensor assembly 100 can also include a controller126 configured to process the return signal to both smooth the returnsignal, determine if there are internal reflections 114, and, if so,discard the first set 118 of reflections without affecting the accuracyof the second set 120 of reflections. This, in turn enables the LIDARsensor assembly to accurately measure the distance to the surface 110.As discussed below in more detail, in some examples, the controller 126can process the first set 118 and the second set 120 of return signalswith one or more electronic components—e.g., an analog-to-digitalconverter (ADC), filter (e.g., a low-pass filter, a correlator, etc.)smooth the return signals, discretize the return signals into aplurality of samples, remove noise and interference, etc.

To this end, the second graph 128 is an example of the return signalfrom the first graph 116 after it has been processed by the controller126. As shown, electronic processing has smoothed the first set 118 ofreturn signals to remove the jagged raw data to produce a first localmaximum 130 associated with the internal reflection(s) 114 and a secondlocal maximum 132 associated with the primary reflection(s) 112.

As discussed below, this can enable the LIDAR sensor assembly 100 tomore accurately identify a first local minimum 134, which, in turn,enables the LIDAR sensor assembly 100 to identify where the first set118 of return signals ends. The LIDAR sensor assembly 100 can thendiscard all samples prior to the time associated with the first localminimum 134 because it is data associated with the internal reflections114. The LIDAR sensor assembly 100 can then determine the timeassociated with the second local maximum 132 and output an accuratedistance 136 to the surface 110 based on this time and the fixedpropagation speed of light.

An example of a LIDAR sensor assembly suitable for use with the systemsand methods disclosed herein is shown in FIGS. 2A-2C. The LIDAR sensorassembly 200 shown is a rotating sensor; however, as mentioned above,the LIDAR sensor assembly 200 could also be a fixed sensor, asolid-state sensor, or other type of LIDAR sensor. FIG. 2A is aperspective view of the example LIDAR sensor assembly 200 showing theouter housing 202. FIG. 2B is a simplified cross-sectional view of theexample LIDAR sensor assembly 200, taken along line BB of FIG. 2A. FIG.2C is a simplified cross-sectional view of an example LIDAR sensorassembly with a flat over, rather than a ring lens. FIG. 2D is asimplified cutaway view of the example LIDAR sensor assembly 200including some of the internal components of the LIDAR sensor assembly200.

FIG. 2A is a perspective view of the example LIDAR sensor assembly 200,showing an outer housing 202 to cover and protect a rotatable assembly204. The outer housing 202 includes an opaque cap 206, main body 208,and a substantially transparent ring lens 210 interposed between the cap206 and the main body 208. The cap 206 is disposed at, and covers, aspine 216 and a first end (the top) of the rotatable assembly 204 of theLIDAR sensor assembly 200. The ring lens 210 encircles the portion ofthe rotatable assembly 204 through which light enters and exits the lensassembly 212. Thus, the ring lens 210 facilitates the passage of lightto and from the LIDAR sensor assembly 200 as the rotatable assembly 204rotates within the outer housing 202. The ring lens 210 may be opticallytransparent or may focus and/or steer light.

The outer housing 202 encloses the rotatable assembly 204 and is coupledto the stationary portion 214 of the LIDAR sensor assembly 200. The cap206 and the main body 208 are contoured to generally conform to an outergeometry of the rotatable assembly 204 around a majority of itscircumference, before curving at an edge closest to the spine 216 tomate with lateral edges of the spine 216. Contoured trim pieces 218 maybe included to fill a gap between the ring lens 210 and the spine 216and to match the contours of the cap 206 and the main body 208. Thecontoured trim pieces 218 may be opaque or transparent.

One or more O-rings (not shown) may be provided at the interfacesbetween the cap 206 and the ring lens 210, and/or between the ring lens210 and the main body 208, in order to prevent dirt and moisture fromentering the outer housing 202. Gaskets and/or sealants may be providedbetween the outer housing 202 and the spine 216 in order to prevent dirtand moisture from entering the outer housing 202.

FIG. 2B is a simplified cross-sectional view of the example LIDAR sensorassembly 200, taken along line BB of FIG. 2A. For ease of illustration,a single light pulse 220, shown by the dot-dash line, is emitted fromthe rotatable assembly 204. In practice, however, the LIDAR sensorassembly may include multiple pulses of light, continuous light, orother firing schemes and may use multiple different laser light sources.In the example of FIG. 2B, at least a portion of the laser light isreflected by the ring lens 210. The cause of the reflection is somewhatimmaterial, but may be caused by the interior surface of the ring lens210 not being coated with an antireflective material, not beingperfectly optically clear, being dirty, or simply because a high-powerlaser light is being used.

As shown, there may be multiple internal reflections 222 of the lightpulse 220. At least some of the reflected light enters the lens assembly212 and is received by a light sensor of the LIDAR sensor assembly 200.Upon receipt of the reflected light, the light sensor generates a signalindicating detection of the reflected light corresponding to reflectionof the laser light from the ring lens 210. As mentioned above, however,unless the ring lens 210 is being used as a fixed surface to calibratethe LIDAR sensor assembly 200, this initial reflection is unwanted andcan affect the accuracy of the LIDAR sensor assembly 200.

During operation, therefore, the LIDAR sensor assembly 200 receivesmultiple returns for every light emission (e.g., one or more reflectionsfrom the ring lens 210 as well as primary reflections from surface(s) inthe field of view of the LIDAR sensor assembly 200). During distancemeasurements, however, the reflections from the ring lens 210 areextraneous noise that can degrade the accuracy of the LIDAR sensorassembly. Thus, the return signals corresponding to reflections from thering lens 210 can be isolated and filtered out, thereby eliminatingnoise from the return signal and further improving accuracy of the LIDARsensor assembly 200.

FIG. 2C is a simplified cross-sectional view of another example LIDARsensor assembly 224 with a flat cover 226. As with the ring lens 210,the cover 226 may be optically transparent or may bend or focus thelight in some way. For ease of illustration, a single light pulse 228,shown by the dot-dash line, is emitted from the rotatable assembly 204.In practice, however, the LIDAR sensor assembly may include multiplepulses of light, continuous light, or other firing schemes and may usemultiple different laser light sources. In the example of FIG. 2C, atleast a portion of the laser light is reflected by the flat cover 226.As before, the cause of the reflection is somewhat immaterial.

As shown, there may be multiple internal reflections 230 of the lightpulse 228. At least some of the reflected light enters the lens assembly212 and is received by a light sensor of the LIDAR sensor assembly 200.As before, upon receipt of the reflected light, the light sensorgenerates a signal indicating detection of the reflected lightcorresponding to reflection of the laser light from the flat cover 226.As mentioned above, however, unless the flat cover 226 is being used asa fixed surface to calibrate the LIDAR sensor assembly 200, this initialreflection is unwanted and can affect the accuracy of the LIDAR sensorassembly 200.

FIG. 2D is a partial cutaway view of an example system including theLIDAR sensor assembly 200 and control circuitry 232 to perform theaforementioned signal processing. The LIDAR sensor assembly 200 cancomprise multiple laser light source(s) 234(1)-234(N) (collectivelyreferred to as “laser light sources 234”) and one or more lightsensor(s) 236(1)-236(N) (collectively referred to as “light sensors236”), where N is any integer greater than or equal to 1. The LIDARsensor assembly 200 also includes control circuitry 232 configured tocontrol the emission of light by the laser light sources 234 and toreceive and analyze signals from the light sensors 236, among otherthings.

In some examples, the LIDAR sensor assembly 200 may include a pluralityof channels by which a laser light source 234 may emit light along aprecise direction so that the reflected light strikes a light sensor 236that corresponds specifically to the laser light source 234. Forexample, laser light source 234(1) and light sensor 236(1) maycorrespond specifically to a first channel, whereas laser light source234(N) and light sensor 236(N) may correspond specifically to an N-thchannel. The optical system of the LIDAR sensor assembly 200 is designedso that beams from laser light sources 234 at different physicalpositions within the LIDAR sensor assembly 200 are directed outwardly atdifferent angles in azimuth and elevation.

The control circuitry 232 includes a controller 238 that implementscontrol and analysis logic. The controller 238 may be implemented inpart by an FPGA (field-programmable gate array), a microprocessor, a DSP(digital signal processor), or a combination of one or more of these andother control and processing elements, and may have associated memoryfor storing associated programs and data.

The controller 238 implements control and analysis logic for each of themultiple channels. To initiate a single distance measurement using asingle channel, for example, the controller 238 generates a first signal240. The first signal 240 is received by a charge circuit 242, whichdetermines an appropriate charge duration (e.g., based on desiredintensity, pulse width, etc.) and provides a second signal 244 to chargea capacitive driver 246 for the specified charge duration. Thecapacitive driver 246 comprises a bank of one or more capacitors todrive the laser light sources 234. The duration of charge determines theintensity of the light emitted by the laser light sources 234.

After charging for the specified duration, the controller 238 causes thecapacitive driver 246 to output an emitter drive signal 248 to therespective laser light source 234. The emitter drive signal 248 causesthe respective laser light source 234 (e.g., laser light source 234(1)in this example) to emit constant laser light, for example, or one ormore laser light pulses along an outward path toward the surface towhich the distance is being measured. The burst is reflected by thesurface in the scene back to the light sensor 236 of the correspondingchannel (e.g., light sensor 236(1)).

Upon receipt of the reflected light, the light sensor 236(1) outputs areturn signal 250 to an analog to digital converter (ADC) 252. The ADC252 digitizes the analog return signal 250 into a plurality of discrete,digital samples with an assigned value (e.g., a voltage). Thus, the ADC252 output is a plurality of samples that form a digital representationof the return signal 250, which can then be analyzed for local minimaand maxima, as discussed below.

The return signal 250 is generally of the same shape as the emitterdrive signal 248, although it may differ to some extent as a result ofnoise, interference, cross-talk between different emitter/sensor pairs,interfering signals from other LIDAR devices, pulse stretching, and soforth. To this end, as mentioned above, in some examples, controlcircuitry 232 can also include a filter 256 to smooth the return signal250. The filter 256 can comprise, for example, a low-pass filter, amatched filter, a Weiner filter, a correlation, etc. Thus, the filter256 outputs a smoothed, digitized signal 258, from which any falseminima from multiple reflections, noise, or interference, for example,have been removed.

The return signal 250 will also be delayed with respect to the emitterdrive signal 248 by an amount of time corresponding to the round-trippropagation time of the emitted laser light (i.e., the time of flight ofthe emitted light). To this end, the smoothed, digitized signal 258 isprovided to a cross-correlator 260, which correlates the smoothed,digitized signal 258 with the corresponding emitter drive signal 248.Indeed, depending on the logic used in the cross-correlator 260, thecomparison of the emitter drive signal 248 to the return signal 250 maysufficiently smooth the return signal 250 that the filter 256 is notneeded. In other words, if, in the correlating the emitter drive signal248 to the return signal 250, the cross-correlator 260 averages similarpoints along these curves, for example, this can serve to smooth thereturn signal 250. It should be noted that some, or all, of thesefunctions 252, 256, 260 could be performed by the controller 238 withthese functions 252, 256, 260 built-in.

Regardless, after correlation, the cross-correlator 260 outputs a timeof flight signal 262, or data from which the time of flight can becalculated by the controller 238. The time of flight signal 262indicates the amount of time, phase shift, or other data relating theemission of the laser light by the laser light source 234 and thedetection of the reflection of the return of the laser light at thelight sensor 236. Once a return signal is correlated or matched with theemitter drive signal 248, the controller 238 can then use data (e.g.,actual timing events, phase shifts, etc.) from the time of flight signal262 in combination with the known speed of light to calculate thedistance to the surface. In practice the calculation may take intoaccount a total roundtrip distance of the light path from the laserlight source 234 to the light sensor 236 (i.e., including the distancesbetween the laser light sources 234 and light sensors 236 and theirrespective lenses, etc.), any delays caused by electric components inthe LIDAR sensor assembly 200, etc. The foregoing example is just one ofmany techniques that may be used to recover the time of flight of theemitted laser light.

FIG. 3 is a graphical depiction of an example of the internalreflections that can be caused by the optical component(s) 108 (e.g., atransparent cover 226, ring lens 210, other lenses, optics, mirrors,noise, interference, and other sources). In this example, the signal hasnot been passed through a low-pass filter, resulting in some additionalirregularities in the return sample values. As mentioned above, this cancause unwanted local minima that can potentially result in inaccuratedistance measurements.

As mentioned above in FIGS. 2A-2C, the laser light is emitted and thenthe signal is received at the light sensors 236 and converted into somesuitable sample rate. Due to the high propagation speed of light, thesamples would generally be taken on the order of single, or evenfractions, of nanoseconds. As discussed above, reflection from a surface300 meters away from the LIDAR sensor assembly 200, for example, wouldrepresent a total travel time (out and back) of the laser light ofapproximately 2 μs (2000 ns).

Of course, the optical component 108 is significantly closer to thelaser light sources 234 and light sensors 236, for example; and thus,can generate one or more almost instantaneous reflections. As mentionedabove, the optical component 108 can also create multiple reflections asthe laser light from one or more laser light sources 234 reflects off ofthe optical component 108 at disparate angles, each of which return tothe light sensor 236 at fractionally different times. In addition, theremay be noise or interference (electronic or environmental), for example,that contributes additional peaks in the sample values.

As shown in expanded detail view on the left hand side of FIG. 3, thelaser light (shown firing at time=0 (302)) can be reflected off of oneor more internal components of the LIDAR sensor assembly 200, which cancreate one or more local minima and maxima in the initial portion of thesamples associated with internal reflections. In this example, theinitial reflection off of the ring lens is represented by a first localmaximum 304. In this case, the first local maximum 304 is so strong thatthe light sensor 236 initially saturates, resulting in a flat portion onthe graph. The samples then begin to decline, but include multiple falselocal maxima 306 associated with multiple reflections, noise,interference, etc. In some cases, these may be reflections off the ringlens 210, for example, that reflected at a different angle, for example,which resulted in a slightly different travel time back to the lightsensor 236.

As shown in detail in FIG. 3, regardless of the cause, the false localmaxima 306 necessarily create false local minima 308. In FIG. 3, onlythree false local minima 308 are shown, but additional false minima 308can be seen in the expanded detail view to the left of FIG. 3. Thesefalse local minima 308 can result in inaccurate distance measurements.If the method 500 (discussed below) identifies one of the false localminima 308 as the first local minimum (N_(MIN)), for example, then oneof the false local maxima 306 caused by the noise/additionalreflections/etc. may be identified as the second local maximum(N_(MAX)). This means that the false local maximum 306 caused by thenoise/additional reflections is wrongly assumed to be the primarymaximum 310 caused by the reflected light from the surface to which thedistance is being measured. Of course, this results in a distance to thesurface that is significantly shorter than the actual distance to thesurface.

In this example, if one assumes a 10-ns sample rate and picks the falselocal maximum 306 caused by the noise/additional reflection that occursat approximately 20 ns (there are many to choose from), then thedistance would be calculated to be approximately 5.99 m. The primaryreflection, on the other hand, indicated by the primary local maximum310 occurs at approximately 87 ns, yielding a distance of approximately26.08 m:

$D_{Noise} = {\frac{\left( {2.0 \times 10^{- 8}\mspace{14mu} s \times 299,792,458\mspace{14mu} m\text{/}s} \right)}{2} \approx {{5.9}9\mspace{14mu} m}}$$D_{Object} = {\frac{\left( {8.7 \times 10^{- 8}\mspace{14mu} s \times 299,792,458\mspace{14mu} m\text{/}s} \right)}{2} \approx {26.08\mspace{14mu} m}}$

In most instances, a 20-meter error would not be very useful. Forvehicle navigation, for example, this could result in a collision oroff-road excursion, among other things. In addition, this reading issimply erroneous. In other words, this reading represents picking asomewhat random value caused by extraneousreflections/interference/noise/etc. received at the light sensors 236.It would be useful, therefore, to smooth these false local maxima 306and minima 308 associated with the initial internal (false) reflectionsinto a smooth signal that can then be discarded, as discussed above.

To this end, as shown in FIG. 4, the samples can first be smoothed by anappropriate electronic component, such as a low-pass filter. In thisexample, after the laser firing 402, the return signal still results inmultiple maxima 404, 408, but the multiple, jagged false local maxima306 and minima 308 seen in FIG. 3 have been smoothed into a single firstlocal maximum 404. This enables the first local minimum 406 to be easilyidentified. Such a minimum 406 may be identified as the first sample tohave a value equal to or greater than the previous sample. Subsequently,the second local maximum 408 can be identified to enable the actuallocation of the surface to be accurately calculated.

Thus, the initial samples 410 can be discarded, or disregarded, whencalculating the distance to the surface. In this examples, the samples(N₁-N₄) from the laser firing 402 to the local minimum 406 are shown asdiscarded. One of skill in the art will recognize, however, that thesamples from the laser firing 402 to the first local maximum 404 wouldalso enable the method 500 to successfully find the second local maximum408. Indeed, these samples need not be discarded at all, but this mayreduce processing and/or memory overhead, for example, simply byreducing the amount of retained data.

As mentioned above, the actual TOF 412 to the surface is measured fromthe time of the laser firing 402 to the second local maximum 408 (i.e.,not from the first local minimum 406 to the second local maximum 408).Again, assuming a 10-ns sample rate, in this case the distance to thesurface is:

$D_{Object} = {\frac{\left( {8.4 \times 10^{- 8}\mspace{14mu} s \times 299,792,458\mspace{14mu} m\text{/}s} \right)}{2} \approx {2{5.1}8\mspace{14mu} m}}$

Thus, the problem of false positives—discussed above with respect toFIG. 3—is mitigated.

Example LIDAR Sensor Assembly Signal Processing

As shown in FIGS. 5A and 5B, examples of the present disclosure cancomprise a method 500 for processing signals received from a LIDARsensor assembly (e.g., LIDAR sensor assembly 100, 200) to improveaccuracy, while maintaining or decreasing the minimum effective range ofthe LIDAR sensor assembly (e.g., shortening how close to the sensor asurface can accurately be detected). In some examples, as discussedabove, the LIDAR sensor assembly can include a controller, a low-passfilter, a correlator, or other electronic components, to smooth signalsfrom the LIDAR sensor assembly, discard false positives, and calculateaccurate TOFs (and thus, distances).

At 502, the controller can transmit a firing signal (e.g. a referencesignal) to cause the laser light source of the LIDAR sensor assembly toemit laser light (e.g., one or more pulses, a constant beam, etc.), orTx signal. In some examples, the controller can send the firing signaldirectly to the laser light source. In other examples, the controllercan send the firing signal to a driver, or other electronic device(e.g., the charge circuit, discussed above), and the electronic devicecan cause the laser light source to emit the Tx signal.

Regardless of how/where the firing signal is transmitted, at 504, thecontroller can receive a number (N) of samples, or Rx signals, from thereceiver, or light sensors, and the ADC of the LIDAR sensor assembly.The controller may receive samples at a predetermined sample interval(e.g., every 0.1, 1, 10, or 100 ns) for a predetermined sample period(e.g., 2, 3, or 5 ms). In some examples, the sample period may be basedon the effective range of the LIDAR sensor assembly. A sensor with a300-meter range, for example, may have a sample period of approximately3 μs (i.e., light takes just over 1 μs to travel 300 meters×2 (toreturn)+some buffer).

At 506, the method 500 can pass the N samples through one or moreelectronic components (e.g., a filter, a correlator, etc.). As discussedabove, when comparing FIG. 3 to FIG. 4, a low-pass filter, for example,can smooth the samples and/or remove any local minima and maxima thatmay be caused by, for example, multiple internal reflected signals fromthe optical component, interference, noise, or other anomalies.

In some examples, the false local minima can be caused by the internalreflections from one or more surfaces proximate to the mounting locationof the LIDAR sensor assembly. If the LIDAR sensor assembly is mounted ona vehicle, for example, the laser light can be reflected off of thehood, glass, and other surfaces of the vehicle and can result inmultiple reflected signals. Thus, any temporary dips and spikes in thesamples can be smoothed, which will generally result in two distinctmaxima—a internal reflection off the ring lens or other “false”surfaces—which actually appears as the first maxima in time—and aprimary reflection from the surface to which the distance is beingmeasured—which actually appears as the second maxima in time.

At 508, a counter, N, can be set to zero. The counter can enable themethod 500 to iterate through all of the samples. Thus, at 510, thecounter can be incremented by one, to N=1 in this case, to start theanalysis with the first sample Sample (1). In some examples, the samplenumber may be incremented, for example, by 10-20 samples beforeproceeding. In such examples, the number of samples initially discardedmay be based on, for example, physical limitations of the system (e.g. asystem may not have any expected returns associated with data less than10 cm, 1 m, 5 m, etc.).

At 512, the method 500 can iteratively locate the first local maximum inthe return signal. Thus, each sample, Sample (N), can be compared to thenext sample, Sample (N+1), in the return signal to determine if the nextsample is greater or less than the current sample. In the firstiteration, therefore, Sample (1) can be compared to Sample (2).

If Sample (N) is less than Sample (N+1), then the maximum has not yetbeen identified. In this case, at 510, the counter can again beincremented by one, in this case to N=2, and the method 500 continuesiteratively until the maximum is found.

If, on the other hand, Sample (N) is not less than Sample (N+1), thenSample (N) is the first local maximum (i.e., the top of the curve hasbeen located). In this case, at 514, in some examples, the method 500can next determine if the maximum that has been located is associatedwith internal reflections or the primary reflection. In other words, ifconditions are such that no measurable internal reflections are present,then the method 500 can determine that the maximum found is associatedwith the primary reflection. This may be because the optical componenthas just been replaced or cleaned, has been treated with ananti-reflective coating, the incident angle of the laser light on theoptical component is favorable, etc. Indeed, this can also enable themethod 500 to be used on LIDAR sensor systems with no opticalcomponents, LIDAR sensor systems on which the optical component has beenremoved for service, etc.

Regardless, at 514, the method 500 can determine if the sample number,N, associated with the maximum is above or below a threshold number ofsamples, N_(CUTOFF), after which the maximum cannot be caused byinternal reflections. Thus, based purely on distance, if the path fromthe optical component is 10 cm away from the laser light sources andlight sensors, for example, then any samples after approximately 0.1 nscan be discarded. In some examples, it may be desirable to add someadditional buffer to account for any saturation of the light sensors athigh power levels, as discussed above with reference to FIG. 3. At a0.05 ns sample rate, for example, discarding the first 40 samples onlyreduces the range of the LIDAR sensor assembly to:

$D_{{Sur}\; {face}} = {\frac{\left( {2 \times 10^{- 9}\mspace{14mu} s \times 299,792,458\mspace{14mu} m\text{/}s} \right)}{2} \approx {{.2}99\mspace{14mu} m}}$

or approximately one foot. This is likely a perfectly acceptable minimumrange for most applications. Of course, this value can also be variedaccording to the power level of the light sources—i.e., greater powerlevels may cause the light sensors to saturate over longer periods oftime.

If the sample number, N, is above the threshold number of samples,N_(CUTOFF), then, at 530, Sample (N) can be set to Sample (N_(MAX)), orthe sample associated with the maximum caused by the primary reflection.In other words, because the maximum occurred after any internalreflections could have occurred, the maximum is associated with theprimary reflection and can be used to calculate the time of flight ofthe laser light. In at least other examples, such a system mayincorporate all samples in evaluating a distance to a surface (e.g., bypeak detection, cross-correlation, edge detection, etc.). At 532, thetime of flight can then be used to accurately calculate the distance tothe surface.

If the sample number, N, is below the sample number of the cutoff,N_(CUTOFF), then, the maximum is associated with internal reflections.In this case, as mentioned above, in some examples, Sample (1)-Sample(N), can be discarded. This may be useful in some circumstance, but iscompletely optional.

As shown in FIG. 5B, regardless of whether the samples are discarded ornot, the method can continue by finding the next local minimum. To thisend, at 518, the method can determine if the current sample, Sample (N),is less than or equal to the next sample, Sample (N+1). If not, thenSample (N) is not a minimum, and at 520, N can again be incremented byone to iteratively continue to locate the minimum.

If, on the other hand, Sample(N) is the minimum (Sample(N)<Sample(N+1)), then the minimum has been found (e.g., local minimum 406 in FIG.4). In this case, then at 522, Sample(N) can be set to Sample(N_(MIN)),or the sample associated with the first local minimum. In some examples,as 524, the method 500 can discard the samples up to Sample (N_(MIN)),though this is again optional.

At 526, having located the first local minimum, the method 500 canoptionally iterate N by one to determine the location of the secondmaximum—the maximum associated with the primary reflections. To thisend, at 528, the method 500 can iteratively locate the second localmaximum in the return signal. Thus, each sample, Sample (N), can becompared to the next sample, Sample (N+1), in the return signal todetermine if the next sample is greater or less than the current sample.If Sample (N) is less than Sample (N+1), then the maximum has not yetbeen identified. In this case, at 526, the counter can again beincremented by one, and the method 500 continues iteratively until themaximum is found.

If, on the other hand, Sample (N) is not less than Sample (N+1), thenSample (N) is associated with a maximum (i.e., the top of the curve hasbeen located). In this case, at 530, N can be set to N_(MAX), or thesample associated with local maximum caused by the primary reflection.Using this information (e.g., the time associated with Sample (N_(MAX)),at 532, the method 500 can determine the distance to the surface. Such acalculation may be performed, for example, by directly determining atime associated with the second local maxima, performing across-correlation, performing some other convolution, etc.

In some examples, the local maxima may not occur exactly at the time onesample is taken, resulting in two samples with equal values at the localmaximum. This may be simply because the actual local maximum does notoccur precisely at the time the sample is recorded. This may also bebecause the LIDAR sensor assembly is using the laser light source at ahigh power setting and the receiver (light sensors) of the LIDAR sensorassembly has become saturated over some period of time, creating a “flatspot” in the return signal. In these cases, the time can be averagedover two or more samples that include a value at the local maximum.Additionally, or alternatively, other techniques may be used forestimating a peak during saturation, such as taught in U.S. patentapplication Ser. No. 15/925,772 entitled “Detecting a Laser Pulse Edgefor Real Time Detection”, which is incorporated by reference.

In some examples, the method 500 can then calculate the distance to thesurface by multiplying the time at the second local maximum by the speedof light and dividing by two (i.e., the time for the laser light totravel out and back):

$D_{{Ob}\; {ject}} = \frac{\left( {T_{N_{MAX}} \times c} \right)}{2}$

Where D_(surface) is the distance to the target surface, T_(N) _(MAX) isthe time associated with the second local maximum, and c is the speed oflight. So, for example, if the second local maximum occurs at the sampleassociated with 2000 ns, then the distance to the surface isapproximately:

D_(Sur face) = (2 × 10⁻⁶  s × m/s) ≈ 300  m

Of course, the accuracy of this calculation can vary according to theaccuracy of the LIDAR sensor assembly and associated electronics,environmental conditions, and the application. For applications in whichautonomous, or semi-autonomous, robots are working in a well-definedarea (e.g., a warehouse or baggage handling facility), the calculationcan be almost binary—e.g., there is an object within a predetermineddistance or there is not. For applications in which fully autonomousvehicles are operating at relatively high speeds amongst pedestrians,cyclist, and other vehicles, on the other hand, sensors and calculationscan be appropriately accurate (e.g., within centimeters).

The method 500 is illustrated as a collection of blocks in a logicalflow graph, which represents sequences of operations that can beimplemented in hardware, software, or a combination thereof. In thecontext of software, the blocks represent computer-executableinstructions stored on one or more computer-readable storage media that,when executed by one or more processors, perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, components, data structures, and the like that performparticular functions or implement particular abstract data types. Theorder in which the operations are described is not intended to beconstrued as a limitation, and any number of the described blocks can becombined in any order and/or in parallel to implement the processes. Insome embodiments, one or more blocks of the process may be omittedentirely. In addition, while the method 500 discussed above uses aniterative comparison of values to determine minima and maxima, a personof skill in the art will recognize that other methods could be used(e.g., windowed averages, running averages, etc.). As a non-limitingexample, a window of five (5) samples may be averaged together, asopposed to comparing individual samples directly, as depicted in FIG.5A-5B.

Example System of LIDAR Sensor Assemblies Coupled to Vehicle

Examples of the present disclosure can be useful in many differentapplications. The LIDAR sensor assemblies 100, 200 and methods 500 couldbe used for navigational purposes (e.g., passenger vehicles, boats,aircraft, etc.) and ranging (e.g., rifle optics, golf rangefinders,etc.), among other things. Indeed, while discussed as a LIDAR basedsystem, the LIDAR sensor assemblies 100, 200 and methods 500 disclosedherein could be used for other, similar sensors that rely on reflectedwaves for distance, and other, measurements (e.g., RADAR, ultrasound,infrared, etc.).

One application to which the LIDAR sensor assemblies 100, 200 andmethods 500 discussed herein are well suited is in the navigation andcollision avoidance systems of a vehicle. To this end, FIG. 6 is a sideview of an example system 600 including a multiple LIDAR sensorassemblies 602A, 602B (referred to collectively as “LIDAR sensorassemblies 602”) mounted to a vehicle 604 at different orientations.Specifically, the system 600 includes a first LIDAR sensor assembly 602Amounted at a front corner of the vehicle 604. The first LIDAR sensorassembly 602A is mounted such that an axis of rotation X of the firstLIDAR sensor assembly 602A is oriented substantially vertically (i.e.,normal to the horizon). The first LIDAR sensor assembly 602A isconfigured such that a pattern of emitted light 606A is spanning thehorizon, with some portions of the emissions being angled above thehorizon and some portions of the emissions that are below the horizon.In some examples, the pattern of emitted light may be concentratedaround the horizon with less emitted light at angles further from thehorizon; however, other scan patterns are also contemplated having lightemitted at other angles relative to the horizon.

The second LIDAR sensor assembly 602B is mounted such that an axis ofrotation X of the first LIDAR sensor assembly 602A is offset by anglerelative to vertical (i.e., is tilted at an oblique angle from normal tothe horizon). Nevertheless, the second LIDAR sensor assembly 602B isconfigured such that a pattern of emitted light 606B is substantiallythe same as that of the first LIDAR sensor assembly 602A. This may beachieved, for example, by angling one or more mirrors or lenses in theLIDAR sensor assembly; however, as above, other scan patterns are alsocontemplated having light emitted at other angles relative to thehorizon.

In some examples, different LIDAR sensor assemblies of the vehicle 604may have different scan patterns. For instance, some LIDAR sensorassemblies (e.g., corner mounted LIDAR sensor assemblies) may have scanpatterns centered around the horizon, while one or more other LIDARsensor assemblies (e.g., nose or tail mounted LIDAR sensor assemblies)may have scan patterns oriented below the horizon (e.g., to detectobjects closer to a front or rear of the vehicle). These and othervariations of mounting configurations are contemplated for LIDAR sensorassemblies according to this disclosure.

FIG. 6 also illustrates an example computing architecture 608 of thevehicle 604. The computing architecture 608 includes one or more sensorsystems 610 (e.g., LIDAR sensor assembly 200). The sensor system(s) 610include the LIDAR sensor assemblies 602 and may include one or moreother sensor systems such as, for example, one or more cameras, radarsensors, microphones, navigation sensors (e.g., GPS, compass, etc.),motion sensors (e.g., inertial measurement units (IMUs), odometers,etc.), and/or environmental sensors (e.g., temperature sensors, pressuresensors, humidity sensors, etc.). The sensor system(s) 610 provide inputdirectly to one or more vehicle systems 612. In some examples, thevehicle system(s) 612 may include a vehicle control system to controlsteering, propulsion, braking, safety systems, and/or communicationsystems of the vehicle 604. Additionally, in some examples, such as whenthe vehicle 604 is an autonomous vehicle, the vehicle systems may alsoinclude a localizer system to estimate a change in position of thevehicle 604 over time, a perception system to perform object detectionand/or classification, and/or a planner system to determine routesand/or trajectories to use to control the vehicle. Additional details oflocalizer systems, perception systems, and planner systems that areusable can be found in U.S. patent application Ser. No. 15/281,416,filed Sep. 30, 2016, entitled “Estimating Friction Based on Image Data,”which is incorporated herein by reference.

The computing architecture 608, which can be the same as, or differentthan, the control circuitry 232, also includes one or more processors614 and memory 616 communicatively coupled with the one or moreprocessors 614. The processor(s) 614 may be any suitable processorcapable of executing instructions to implement the vehicle system(s)612. The processor(s) 614 may comprise, for example, one or more centralprocessing units (CPUs), graphics processing units (GPUs), or any otherdevice or portion of a device that processes electronic data fromregisters and/or memory to transform that electronic data into otherelectronic data that may be stored in registers and/or memory.

Memory 616 is an example of non-transitory computer-readable media.Memory 616 may store an operating system and one or more softwareapplications, instructions, programs, and/or data to implement themethods described herein and the functions attributed to the varioussystems. In various implementations, the memory may be implemented usingany suitable memory technology, such as static random access memory(SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory,or any other type of memory capable of storing information.

The computing architecture 608 also includes one or more communicationconnections 618 that enable communication by the vehicle 604 with one ormore other local or remote computing devices. The communicationsconnection(s) 618 include physical and/or logical interfaces forconnecting the computing architecture 608 to another computing device ora network. The communications connection(s) 618 may enable WiFi-basedcommunication such as via frequencies defined by the IEEE 802.11standards, short range wireless frequencies such as Bluetooth®, or anysuitable wired or wireless communications protocol that enables therespective computing device to interface with the other computingdevices.

The architectures, systems, and individual elements described herein mayinclude many other logical, programmatic, and physical components, ofwhich those shown in the accompanying figures are merely examples thatare related to the discussion herein.

The various techniques described herein may be implemented in thecontext of computer-executable instructions or software, such as programmodules, that are stored in computer-readable storage and executed bythe processor(s) of one or more computers or other devices such as thoseillustrated in the figures. Generally, program modules include routines,programs, objects, components, data structures, etc., and defineoperating logic for performing particular tasks or implement particularabstract data types.

Other architectures may be used to implement the describedfunctionality, and are intended to be within the scope of thisdisclosure. Furthermore, although specific distributions ofresponsibilities are defined above for purposes of discussion, thevarious functions and responsibilities might be distributed and dividedin different ways, depending on circumstances.

Similarly, software may be stored and distributed in various ways andusing different means, and the particular software storage and executionconfigurations described above may be varied in many different ways.Thus, software implementing the techniques described above may bedistributed on various types of computer-readable media, not limited tothe forms of memory that are specifically described.

Example Clauses

A. A LIDAR sensor assembly comprising a laser light source to emit laserlight, a light sensor configured to produce a light signal in responseto sensing reflected light corresponding to one or more reflections ofthe laser light from a plurality of surfaces, an optical componentthrough which light from the laser light source is emitted and throughwhich reflected light is received at the light sensor; and a controllercommunicatively coupled to the laser light source and the light sensor,the controller being operative to transmit a firing signal to the laserlight source to cause the laser light source to emit laser light at afirst time, receive an output signal from the light sensor indicatingdetection of reflected light from the plurality of surfaces, provide,based at least in part on the output signal, a plurality of samples,process the plurality of samples with an electronic component configuredto filter the plurality of samples, determine a first sample associatedwith a local maximum in the plurality of samples, determine a secondsample associated with a local minimum in the plurality of samples,discard a first set of samples of the plurality of samples, the firstset of samples comprising samples provided between the firing of thelaser light source and the second sample, and calculate a distance fromthe LIDAR sensor assembly to a target surface of the plurality ofsurfaces based on a second set of samples, the second set of samplescomprising the second sample and samples provided after the secondsample.

B. The LIDAR sensor assembly of paragraph A, wherein determining a valueof the second sample associated with the local minimum comprisesdetermining the second sample in the second set is less than, or equalto, a value of a third sample in the second set, wherein the thirdsample is provided after the second sample.

C. The LIDAR sensor assembly of paragraph A or B, wherein calculatingthe distance from the LIDAR sensor assembly to a target surface based onthe second set of samples comprises determining a third sampleassociated with a local maximum in the second set of samples.

D. The LIDAR sensor assembly of paragraph A, B, or C, whereincalculating the distance comprises one or more of performing an edgedetection, performing a peak detection, or performing across-correlation.

E. The LIDAR sensor assembly of paragraph A, B, C, or D, whereincalculating a distance from the LIDAR sensor assembly to the targetsurface comprises determining a second time associated with the localmaximum in the second set, the local maximum associated with areflection off of the target surface, and calculating a time of flightto the target surface based at least in part on the first time and thesecond time.

F. The LIDAR sensor assembly of paragraph A, B, C, D, or E, wherein theoptical component comprises a lens or a transparent cover.

G. The LIDAR sensor assembly of paragraph A, B, C, D, E, or F, whereinthe electronic component comprises a low-pass filter.

H. A method to determine a distance to a surface, the method comprisingtransmitting a firing signal to a laser light source to cause the laserlight source of a LIDAR sensor assembly to emit laser light at a firsttime, receiving an output signal from a light sensor of the LIDAR sensorassembly indicating detection of reflected light from a plurality ofsurfaces, determining, based at least in part on the output signal, aplurality of samples, processing the plurality of samples with anelectronic component configured to filter the plurality of samples,determining a first sample associated with a local maximum in theplurality of samples, determining whether the first sample is within athreshold number of samples, and determining a second sample associatedwith a local minimum in the plurality of samples, discarding a first setof samples of the plurality of samples, the first set of samplescomprising samples provided between the firing of the laser light andthe second sample, and calculating a distance from the LIDAR sensorassembly to a target surface of the plurality of surfaces based on asecond set of samples, the second set of samples comprising samplesprovided after the second sample.

I. The method of paragraph H, wherein calculating the distance from theLIDAR sensor assembly to a target surface is based at least in part on across-correlation between a reference signal and the output signal.

J. The method of paragraph H or I, wherein the threshold number ofsamples is determined based at least in part on a distance between thelaser light source and an optical component of the LIDAR sensorassembly.

K. The method of paragraph H, I, or J, wherein the LIDAR sensor assemblyis mounted on a vehicle, and wherein the threshold number of samples isdetermined based at least in part on a distance between the laser lightsource and a surface of the vehicle.

L. The method of paragraph H, I, J, or K, further comprising processingthe plurality of samples with an electronic component configured tofilter the plurality of samples and produce an output, the output of theelectronic component comprising a filtered signal.

M. The method of paragraph H, I, J, K, or L, wherein the electroniccomponent comprises a cross-correlator, a peak detector, or an edgedetector.

N. The method of paragraph H, I, J, K, L, or M, wherein the first sampleis within the threshold number of samples, and wherein the local maximumis associated with an internal reflection off of an optical component ofthe LIDAR sensor assembly.

O. A system comprising a vehicle. And a LIDAR sensor assembly mounted tothe vehicle, the LIDAR sensor assembly including a laser light source toemit light at a first time, and a light sensor configured to produce alight signal in response to sensing reflected light corresponding to areflection of the light off of an internal surface and an externalsurface, and control circuitry communicatively coupled to the laserlight source and the light sensor, the control circuitry being operativeto receive an output signal from the light sensor of the LIDAR sensorassembly, the output signal indicating detection of the reflected lightoff the internal surface and the external surface, determine a pluralityof samples associated with the output signal, determine a second timeassociated with a local minimum in the plurality of samples, the localminimum associated with an internal reflection from the internalsurface, determine, based at least in part on the second time, a subsetof the plurality of samples; and calculate a time of flight to theexternal surface based at least in part on the subset of the pluralityof samples.

P. The system of paragraph O, wherein the control circuitry is furtheroperative to filter the plurality of samples with an electroniccomponent, wherein calculating the time of flight comprises one or moreof performing a peak detection, performing an edge detection, orperforming a cross-correlation.

Q. The system of paragraph O or P, wherein the electronic componentcomprises a low-pass filter.

R. The system of paragraph O, P, or Q, wherein the internal surfacecomprises a lens in the LIDAR sensor assembly, and wherein the internalreflection is at least partially associated with reflected light fromthe lens.

S. The system of paragraph O, P, Q, or R, wherein the internal surfacecomprises a transparent cover in the LIDAR sensor assembly, and whereinthe internal reflection is at least partially associated with reflectedlight from the transparent cover.

T. The system of paragraph O, P, Q, R, or S, wherein the internalsurface comprises a surface of the vehicle, and wherein the internalreflection is at least partially associated with reflected light fromthe surface of the vehicle.

CONCLUSION

Although the discussion above sets forth example implementations of thedescribed techniques, other architectures may be used to implement thedescribed functionality, and are intended to be within the scope of thisdisclosure. Furthermore, although the subject matter has been describedin language specific to structural features and/or methodological acts,it is to be understood that the subject matter defined in the appendedclaims is not necessarily limited to the specific features or actsdescribed. Rather, the specific features and acts are disclosed asexemplary forms of implementing the claims.

1-20. (canceled)
 21. A system comprising: a light sensor; and controlcircuitry communicatively coupled to the light sensor, the controlcircuitry being configured to perform operations comprising: receivingsensor data from the light sensor, the sensor data comprising aplurality of samples; determining whether a sample of the plurality ofsamples is associated with a surface external to the system (an externalsurface) based at least in part on at least one of: a local maximumassociated with the sample; whether the sample was received within athreshold quantity of samples; or whether the sample was received withina threshold time; and determining a distance to the external surfacebased on the determining whether the sample is associated with theexternal surface.
 22. The system of claim 21, wherein determiningwhether the sample is associated with the external surface is furtherbased at least in part on (i) the sample being the local maximum of theplurality of samples and (ii) at least one of the sample being receivedwithin the threshold quantity of samples or the sample being receivedwithin the threshold time.
 23. The system of claim 21, the operationsfurther comprising determining that the sample is associated with asurface of the system (an internal surface); and determining todisregard the sample based at least in part on the sample beingassociated with the internal surface.
 24. The system of claim 21, theoperations further comprising filtering the sample using a low-passfilter.
 25. The system of claim 21, wherein: the sample is a firstsample and the local maximum is a first local maximum, and theoperations further comprise: determining to use a second sample of theplurality of samples to calculate the distance to the external surfacebased at least in part on: the second sample being associated with asecond local maximum; and at least one of whether the second sample wasreceived after receipt of the threshold quantity of samples or whetherthe second sample was received after the threshold time.
 26. The systemof claim 21, wherein: the sample is a first sample of a plurality ofsamples; and the operations further comprise: determining that a secondsample of the plurality of samples represents a local minimum in theplurality of samples, the second sample received after the first sample;determining to disregard the first sample and samples received prior tothe first sample to calculate the distance to the external object; andcalculating the distance to the external object based on the secondsample and on samples received after the second sample.
 27. The systemof claim 21, further comprising a light source to emit light, whereinthe light sensor is configured to produce the signal in response tosensing reflected light.
 28. A method comprising: receiving sensor datafrom a light sensor, the sensor data comprising a plurality of samples;determining whether a sample of the plurality of samples is associatedwith a surface external to the system (an external surface) based atleast in part on at least one of: a local maximum associated with thesample; whether the sample was received within a threshold quantity ofsamples; or whether the sample was received within a threshold time; anddetermining a distance to the external surface based on the determiningwhether the sample is associated with the external surface.
 29. Themethod of claim 28, wherein the determination of whether the sample isassociated with the external surface is further based in part on (i) thesample being the local maximum and (ii) at least one of the sample beingreceived within the threshold quantity of samples or the sample beingreceived within the threshold time.
 30. The method of claim 28 furthercomprising, determining that the sample is associated with a surface ofthe system (an internal surface); and determining to disregard thesample based at least in part on the sample being associated with theinternal surface.
 31. The method of claim 28 further comprising,comprising filtering the sample using a low-pass filter.
 32. The methodof claim 28, wherein: the sample is a first sample of the plurality ofsamples and the local maximum is a first local maximum; and the methodfurther comprises: determining to use a second sample of the pluralityof samples to calculate the distance to the external surface based atleast in part on: the second sample being associated with a second localmaximum; and at least one of whether the second sample was receivedafter receipt of the threshold quantity of samples or whether the secondsample was received after the threshold time.
 33. The method of claim28, wherein: the sample is a first sample of a plurality of samples; andthe method further comprises: determining that a second sample of theplurality of samples represents a local minimum in the plurality ofsamples, the second sample received after the first sample; determiningto disregard the first sample and samples received prior to the firstsample to calculate the distance to the external surface; andcalculating the distance to the external surface based on the secondsample and on samples received after the second sample.
 34. The methodof claim 33, wherein: the local maximum is a first local maximum; andthe method further comprises determining a third sample of the pluralityof samples is associated with a second local maximum, the third sampleincluded in the samples received after the second sample, whereincalculating the distance to the external object is based a timeassociated with the third sample.
 35. One or more non-transitorycomputer-readable media storing instructions that, when executed, causeone or more processors to perform operations comprising: receivingsensor data from a light sensor, the sensor data comprising a pluralityof samples; determining whether a sample of the plurality of samples isassociated with a surface external to the system (an external surface)based at least in part on at least one of: a local maximum associatedwith the sample; whether the sample was received within a thresholdquantity of samples; or whether the sample was received within athreshold time; and determining a distance to the external surface basedon the determining whether the sample is associated with the externalsurface.
 36. The one or more non-transitory computer-readable media ofclaim 35, wherein the determination of whether the sample is associatedwith the external surface is further based in part on (i) the samplebeing the local maximum and (ii) at least one of the sample beingreceived within the threshold quantity of samples or the sample beingreceived within a threshold time.
 37. The one or more non-transitorycomputer-readable media of claim 35, the operations further comprising:determining that the sample is associated with a surface of the system(an internal surface); and determining to disregard the sample based atleast in part on the sample being associated with the internal surface.38. The one or more non-transitory computer-readable media of claim 35,the operations further comprising filtering the sample using a low-passfilter.
 39. The one or more non-transitory computer-readable media ofclaim 35, wherein: the sample is a first sample of a plurality ofsamples and the local maximum is a first local maximum, and theoperations further comprise: determine to use a second sample of theplurality of samples to calculate the distance to the external surfacebased at least in part on: the second sample being associated with asecond local maximum; and at least one of whether the second sample wasreceived after receipt of the threshold quantity of samples or whetherthe second sample was received after the threshold time.
 40. The one ormore non-transitory computer-readable media of claim 35, wherein: thesample is a first sample of a plurality of samples; and the operationsfurther comprise: determining that a second sample of the plurality ofsamples represents a local minimum in the plurality of samples, thesecond sample received after the first sample; determining to disregardthe first sample and samples received prior to the first sample tocalculate the distance to the external object; and calculating thedistance to the external surface based on the second sample and onsamples received after the second sample.